package org.jsets.fastboot.persistent;

import java.io.Serializable;

/**
 * <p>
 * 分页查询请求
 * </p>
 * 
 * @author wangjie
 */
public interface IPageRequest extends Serializable {

	/**
	 * <p>
	 * 获取当前页
	 * </p>
	 * 
	 * @return 当前页
	 */
	Integer getCurrent();
	
	
	/**
	 * <p>
	 * 获取每页条数
	 * </p>
	 * 
	 * @return 每页条数
	 */
	Integer getSize();
	
	/**
	 * 是否需要分页
	 * @return boolean
	 */
	default boolean isPageNecessary() {
		if (null == this.getCurrent()) {
			return false;
		}
		if (0 == this.getCurrent()) {
			return false;
		}
		if (null == getSize()) {
			return false;
		}
		if (0 == getSize()) {
			return false;
		}
		return true;
	}
	
	default int getOffset() {
        if (this.getCurrent() > 0) {
            return (this.getCurrent() - 1) * this.getSize();
        }
        return 0;
    }
	
}